package com.idanchuang.user.count.service.api.request.command.read;

import com.idanchuang.user.count.service.api.request.command.BaseUpdateCommand;
import com.idanchuang.user.count.service.api.request.command.UserRelated;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author Richard_yyf
 * @version 1.0 2021/7/6
 */
public class RemoveUserMsgCommand extends BaseUpdateCommand implements UserRelated {


    /**
     * 用户code
     */
    @NotNull
    private Integer userCode;

    /**
     * 计数场景
     */
    @NotNull
    private String scene;

    /**
     * 消息唯一id list
     * NOTICE:
     *  1. 该字段作为已读未读消息标识 ，不得重复！！比如消息ID
     *  2. list size 最大不超过 50
     */
    @NotEmpty
    private List<String> msgIdList;

    public RemoveUserMsgCommand() {
    }

    @Override
    public Integer getUserCode() {
        return userCode;
    }

    public void setUserCode(Integer userCode) {
        this.userCode = userCode;
    }

    public String getScene() {
        return scene;
    }

    public void setScene(String scene) {
        this.scene = scene;
    }

    public List<String> getMsgIdList() {
        return msgIdList;
    }

    public void setMsgIdList(List<String> msgIdList) {
        this.msgIdList = msgIdList;
    }

    @Override
    public String toString() {
        return "RemoveUserMsgCommand{" +
                "scene='" + scene + '\'' +
                ", msgIdList=" + msgIdList +
                "} " + super.toString();
    }
}
